WordPress es una plataforma muy popular y normalmente usada para lojar sitios web como blogs, tiendas ecommerce, etc de manera simple y rápida. Sin embargo hay una característica que ofrece WordPress que no es tan conocida como sus demás características, su REST API.
Para utilizar WordPress como API en realidad no tienes que hacer mucho. La funcionalidad esta habiiltada por default.
Porsupuesto para hacer uso del API necesitas tener ya un conocimiento básico de WordPress y de como funciona un API REST. De otra manera esta parte puede terminar siendo mas compleja innecesariamente.
El camino ideal
Lo primero que tienes que hacer es tener clara la dirección URL de tu sitio de WordPress. No importa si lo estas corriendo de manera local o ya tiene un dominio asignado.
Para este ejemplo utilizaré mi localhost: https://localhost:demo
En esencia lo único que tienes que hacer es agregar una sección adicional a tu url: wp-json.
En mi caso mi URL quedaría de esta manera: https://localhost:demo/wp-json
Si todo salio bien el sitio te debería estar regresando un resultado similar a esto:
¿No funciono? Estás en problemas…
El camino mega ultra recontra difícil
Puede ser que dependiendo de tu configuración wordpress de te de un error como este:
Si ese es tu caso eso quiere decir que WordPress tiene deshabilitada esta funcionalidad. Para arreglarlo tienes que completar los siguientes 3 pasos:
Accede al dashboard de administración de WordPress
Accede a la sección de Settings->PermaLinks (Ajustes->Enlaces Permanentes)
Cambia el formato de tus URLs
Debes cambiar el tipo de formato a cualquiera opción que no sea la default.
Listo. Una vez hayas completado estos laboriosos y complejos pasos deberías ser capaz de hacer la petición correctamente.
Por default si mandas a llamar la ruta como en este ejemplo, WordPress te regresa en formato JSON información acerca de los métodos disponibles en tu sitio. Sin embargo si quieres información más específica aquí hay algunas llamadas de las más usadas.
GET /wp/v2/posts |
GET /wp/v2/menu-items |
GET /wp/v2/taxonomies |
GET /wp/v2/categories |
GET /wp/v2/tags |
GET /wp/v2/users |
GET /wp/v2/comments |
GET /wp/v2/themes |
GET /wp/v2/plugins |
Como te podrás imagnar, cada una de estas llamadas devuelve en formato JSON un listado con los objetos que tengas en tu sitio. Así mismo WordPress provee la opción de filtrar la información utilizando filtros como Query Parameters en estas mismas llamadas. Para mas información te recomiendo que le heches un vistazo a la documentación oficial y que inspecciones la llamada genérica a GET /wp-json